@@@@%%*+++***++*++======-----========*%%%@@@@@@%%%%%%%%%####%%%%%%###
%#**#*=======--==------------======+##****#%@@@@%%%%%%%%###%#%%%%%@%%
#*+=*+-----------------------===+*####**+++*@@@@%%%%%%%%*###%%#%%%@@@
+===*====------==============+*#%%%%%%%#***+%%@%%%%%###****+++++=+==*
=-===============++++++++***####%%%%###%%###%%%%%%%%%%%%%%%%%%%%#####
=======+=++++++++*****+**############***%%%%@@%%%%%%%%%%%%%%%%%%%%%%%
++++++++++++*+*******************##**++*##%%%%%%%%%%%%%%%%%%%%%%%%%%%
+++*+++***##****************#****#######**+*%%%%%%%%%%%%%%%%%%%%%%%%%
**********##*###************+++#%%###%%##*===#%%%%%%%%%%%%%%%%%%%%%%%
****++++**+++***************+*########%%#*+++=*%%%%%%%%%%%%%%%%%%%%%%
****************####*###**###*****######%##****%%%%%%%%%%%%%%%%%%%%%%
************##############################**######%##%%%%%%%%%%%%%%%%
#*#####%%%%%%%%%%%%###%%#%%##%%%%%%#####**##########################%
####%%%%%%%%%%%%%%%%##%%%%%%%%%%%%%#*##%*#%%%%%%%%%%%%%%%%%%#########
%%%%%%%%%%%%%%%%%%######%%%%%%%%%%%%####%*######%%##########%%%%%%%%%
%%%%%%%%%%%#%%%##########%%%%%###%%###%##%**#%%%%%%%%%%%%%%%%%%%%%%%%
#####%%%##%%%%%%########%%%%%%%%%%%%%####%%***%%%%%%%%%%%%%%%%%%%%%%%
##%%%%%%%%%%%%%%######**#%%%%%%%%%%%%#*#%%%#*###%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%###########%%%%%@%%%%%*#%%##*++%%%##%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%############%%%%%%%%@@@###**+*#*#%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%@%%%%%#############%%%%%%@@@%#####+*##**#%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%#######*#######%%%%%%@@%#####++*#####%%%%%%%%%%%%%%%%%%%
@@@@@@@@@%%%%%%%%%%%%%%%%%%%%@%%%@@@%%%%%%#%#%%%%%%@@@@@@@@@@%%%%%%%@